Skip to content

Conversation

aryabjena
Copy link
Contributor

@aryabjena aryabjena commented Oct 14, 2025

https://issues.redhat.com/browse/RHAIENG-1474

Description

  • Added a patch to build vscode for s390x in get_code_server_rpm.sh to resolve wasm magic number error in web-tree-sitter module
  • Added Target flags for building openblas from source in devel_env_setup.sh
  • Added required packages for pillow and scipy in devel_env_setup.sh
  • Skipped py-spy and skl2onnx in pyproject.toml
  • Updated the vsix files with updated extentions from Open-vsx.com

How Has This Been Tested?

  • Created a test PR in downstream Test: Test PR to test codeserver for Z to test the image build on konflux.
  • Created a Code Server workbench on RHOAI and successfully ran a Python script in it.

Self checklist (all need to be checked):

  • Ensure that you have run make test (gmake on macOS) before asking for review
  • Changes to everything except Dockerfile.konflux files should be done in odh/notebooks and automatically synced to rhds/notebooks. For Konflux-specific changes, modify Dockerfile.konflux files directly in rhds/notebooks as these require special attention in the downstream repository and flow to the upcoming RHOAI release.

Merge criteria:

  • The commits are squashed in a cohesive manner and have meaningful messages.
  • Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
  • The developer has manually tested the changes and verified that the changes work

Summary by CodeRabbit

  • New Features

    • Added s390x support across the UBI9 Python 3.12 code-server image, RPM build flow, and multi-arch wheel installation (ppc64le and s390x).
    • Base image installation now includes tar.
  • Chores

    • Added platform-specific dependency guards to exclude incompatible packages on s390x.
    • Introduced s390x-specific development/build setup and pre-build patching, and updated cache/cleanup handling to use dnf.

@openshift-ci openshift-ci bot requested review from atheo89 and daniellutz October 14, 2025 17:39
@github-actions github-actions bot added the review-requested GitHub Bot creates notification on #pr-review-ai-ide-team slack channel label Oct 14, 2025
@openshift-ci openshift-ci bot added the size/l label Oct 14, 2025
Copy link
Contributor

openshift-ci bot commented Oct 14, 2025

Hi @aryabjena. Thanks for your PR.

I'm waiting for a github.com member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

Copy link
Contributor

coderabbitai bot commented Oct 14, 2025

Walkthrough

Adds s390x support across the codeserver UBI9 Python 3.12 build: Dockerfile package/install tweaks, an s390x-specific development setup, s390x patching and build steps for codeserver RPM, and platform gating of several Python dependencies.

Changes

Cohort / File(s) Summary of Changes
Docker + wheel install updates
codeserver/ubi9-python-3.12/Dockerfile.cpu
Add tar to installed packages, switch cache cleanup path from /var/cache/yum to /var/cache/dnf, and expand comments/conditional wheel install logic to include s390x.
s390x dev environment setup
codeserver/ubi9-python-3.12/devel_env_setup.sh
Add large s390x-specific installation block (dnf installs of compilers, libs, Rust, env vars like MAX_JOBS/CMAKE_ARGS), build PyArrow from pylock.toml, install wheels; reorganize OpenBLAS handling to create /root/OpenBLAS/ only for non-ppc64le.
codeserver RPM build (s390x patching)
codeserver/ubi9-python-3.12/get_code_server_rpm.sh
Extend architecture guard to include s390x; create/apply inline s390x.patch to tweak package-lock.json/package.json before npm install; run npm cache clean --force and set KEEP_MODULES=1 during build steps.
Python dependency gating
codeserver/ubi9-python-3.12/pylock.toml, codeserver/ubi9-python-3.12/pyproject.toml
Add marker = "platform_machine != 's390x'" to several packages (ml-dtypes, onnx, py-spy, skl2onnx in pylock.toml; skl2onnx and py-spy in pyproject.toml) to exclude them on s390x.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~60 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
Title Check ✅ Passed The pull request title clearly identifies the associated issue and highlights enabling s390x support for codeserver, which matches the main focus of the changeset. Although slightly generic in phrasing, it accurately represents the primary change without listing individual files or extraneous details.
Description Check ✅ Passed The pull request description follows the repository’s template by including a detailed Description section and a How Has This Been Tested section, and it also includes the self-checklist and merge criteria headings as required. The description provides specific change details and testing steps, making it mostly complete and aligned with the template.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci bot added size/l and removed size/l labels Oct 14, 2025
@aryabjena
Copy link
Contributor Author

hey @jiridanek can you review this PR ?,
this has same changes as done in downstream PR: red-hat-data-services#1627

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 737c14f and 39326db.

📒 Files selected for processing (5)
  • codeserver/ubi9-python-3.12/Dockerfile.cpu (4 hunks)
  • codeserver/ubi9-python-3.12/devel_env_setup.sh (2 hunks)
  • codeserver/ubi9-python-3.12/get_code_server_rpm.sh (2 hunks)
  • codeserver/ubi9-python-3.12/pylock.toml (4 hunks)
  • codeserver/ubi9-python-3.12/pyproject.toml (2 hunks)
👮 Files not reviewed due to content moderation or server errors (1)
  • codeserver/ubi9-python-3.12/pylock.toml
🧰 Additional context used
🧠 Learnings (12)
📓 Common learnings
Learnt from: jiridanek
PR: opendatahub-io/notebooks#0
File: :0-0
Timestamp: 2025-08-05T17:24:08.616Z
Learning: jiridanek requested PR review for #1521 covering s390x architecture support improvements, demonstrating continued focus on systematic multi-architecture compatibility enhancements in the opendatahub-io/notebooks repository through clean implementation with centralized configuration, proper CI integration, and architecture-aware testing patterns.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/get_code_server_rpm.sh:65-66
Timestamp: 2025-09-05T12:34:48.372Z
Learning: jiridanek requested GitHub issue creation for patches mechanism improvement in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2227 review. GitHub issue #2318 was created addressing fragile patches application that assumes patches/series always exists, proposing conditional patch handling with proper validation, error handling, and documentation, assigned to jiridanek, continuing the established pattern of systematic code quality improvements through detailed issue tracking.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2432
File: jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu:232-249
Timestamp: 2025-09-12T08:27:00.439Z
Learning: jiridanek requested GitHub issue creation for Rust toolchain availability during s390x builds in jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu during PR #2432 review. The issue addresses PATH availability problems where Rust/cargo installed in cpu-base stage at /opt/.cargo/bin may not be accessible during uv pip install step in jupyter-datascience stage, proposing three solution approaches: immediate environment variable fix, builder stage pattern following codeserver approach, and ENV declaration fix, with comprehensive acceptance criteria covering build reliability, multi-architecture compatibility, and alignment with established patterns, continuing the systematic infrastructure improvement tracking methodology.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2432
File: jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu:232-249
Timestamp: 2025-09-12T08:27:00.439Z
Learning: jiridanek requested GitHub issue creation for Rust toolchain availability during s390x builds in jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu during PR #2432 review. Issue #2435 was created addressing PATH availability problems where Rust/cargo installed in cpu-base stage at /opt/.cargo/bin may not be accessible during uv pip install step in jupyter-datascience stage, proposing three solution approaches: immediate environment variable fix, builder stage pattern following codeserver approach, and ENV declaration fix, with comprehensive acceptance criteria covering build reliability, multi-architecture compatibility, and alignment with established patterns, continuing the systematic infrastructure improvement tracking methodology.
📚 Learning: 2025-09-05T12:25:09.719Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/Dockerfile.cpu:122-123
Timestamp: 2025-09-05T12:25:09.719Z
Learning: jiridanek requested GitHub issue creation for Docker multi-stage synchronization improvement in codeserver/ubi9-python-3.12/Dockerfile.cpu during PR #2227 review. The issue addresses sentinel file pattern using /tmp/control copied to /dev/null for stage coordination between rpm-base, whl-cache, and codeserver stages, proposing semantic improvements with descriptive file names, inline documentation, and elimination of /dev/null hack while maintaining multi-architecture build functionality for ppc64le support.

Applied to files:

  • codeserver/ubi9-python-3.12/Dockerfile.cpu
📚 Learning: 2025-09-05T12:25:58.344Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/Dockerfile.cpu:126-128
Timestamp: 2025-09-05T12:25:58.344Z
Learning: jiridanek expressed concern about code-server installation complexity in codeserver/ubi9-python-3.12/Dockerfile.cpu during PR #2227 review, describing the multi-stage cache mount approach as a "hack" that worries them, leading to GitHub issue creation for systematic architectural improvement addressing maintainability concerns.

Applied to files:

  • codeserver/ubi9-python-3.12/Dockerfile.cpu
📚 Learning: 2025-09-05T12:25:58.344Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/Dockerfile.cpu:126-128
Timestamp: 2025-09-05T12:25:58.344Z
Learning: jiridanek expressed concern about code-server installation complexity in codeserver/ubi9-python-3.12/Dockerfile.cpu during PR #2227 review, describing the multi-stage cache mount approach as a "hack" that worries them. GitHub issue #2315 was created addressing the architectural complexity with comprehensive problem description, four solution options, clear acceptance criteria, and implementation considerations, assigned to jiridanek, continuing the established pattern of systematic technical improvement tracking.

Applied to files:

  • codeserver/ubi9-python-3.12/Dockerfile.cpu
📚 Learning: 2025-09-05T12:29:07.819Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/Dockerfile.cpu:218-218
Timestamp: 2025-09-05T12:29:07.819Z
Learning: jiridanek requested GitHub issue creation for uv multi-stage Docker build architectural investigation during PR #2227 review. The current implementation uses a three-stage build with whl-cache stage for wheel building/caching, base stage for OS setup, and final codeserver stage for offline installation using --offline flag and cache mounts. The pattern separates build phase (internet access, build tools) from install phase (offline, faster) while supporting multi-architecture builds (x86_64, ppc64le) with sentinel file coordination using /tmp/control files.

Applied to files:

  • codeserver/ubi9-python-3.12/Dockerfile.cpu
📚 Learning: 2025-09-12T08:27:00.439Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2432
File: jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu:232-249
Timestamp: 2025-09-12T08:27:00.439Z
Learning: jiridanek requested GitHub issue creation for Rust toolchain availability during s390x builds in jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu during PR #2432 review. Issue #2435 was created addressing PATH availability problems where Rust/cargo installed in cpu-base stage at /opt/.cargo/bin may not be accessible during uv pip install step in jupyter-datascience stage, proposing three solution approaches: immediate environment variable fix, builder stage pattern following codeserver approach, and ENV declaration fix, with comprehensive acceptance criteria covering build reliability, multi-architecture compatibility, and alignment with established patterns, continuing the systematic infrastructure improvement tracking methodology.

Applied to files:

  • codeserver/ubi9-python-3.12/Dockerfile.cpu
📚 Learning: 2025-09-12T08:27:00.439Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2432
File: jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu:232-249
Timestamp: 2025-09-12T08:27:00.439Z
Learning: jiridanek requested GitHub issue creation for Rust toolchain availability during s390x builds in jupyter/datascience/ubi9-python-3.12/Dockerfile.cpu during PR #2432 review. The issue addresses PATH availability problems where Rust/cargo installed in cpu-base stage at /opt/.cargo/bin may not be accessible during uv pip install step in jupyter-datascience stage, proposing three solution approaches: immediate environment variable fix, builder stage pattern following codeserver approach, and ENV declaration fix, with comprehensive acceptance criteria covering build reliability, multi-architecture compatibility, and alignment with established patterns, continuing the systematic infrastructure improvement tracking methodology.

Applied to files:

  • codeserver/ubi9-python-3.12/Dockerfile.cpu
📚 Learning: 2025-09-05T12:35:44.985Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/get_code_server_rpm.sh:18-19
Timestamp: 2025-09-05T12:35:44.985Z
Learning: jiridanek requested GitHub issue creation for architecture validation guard in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2227 review. Issue #2320 was successfully created addressing missing validation for unknown architectures in UNAME_TO_GOARCH mapping lookup where empty ARCH values could cause silent failures, with comprehensive problem description, detailed proposed solution with code example, specific acceptance criteria, implementation considerations, and proper context linking, continuing the established pattern of systematic code quality improvements through detailed issue tracking.

Applied to files:

  • codeserver/ubi9-python-3.12/get_code_server_rpm.sh
📚 Learning: 2025-09-05T12:35:44.985Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/get_code_server_rpm.sh:18-19
Timestamp: 2025-09-05T12:35:44.985Z
Learning: jiridanek requested GitHub issue creation for architecture validation guard in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2227 review. The issue addresses missing validation for unknown architectures in UNAME_TO_GOARCH mapping lookup where empty ARCH values could cause silent failures, proposing defensive programming with clear error messages, supported architecture listing, and proper exit codes, continuing the established pattern of systematic code quality improvements through detailed issue tracking.

Applied to files:

  • codeserver/ubi9-python-3.12/get_code_server_rpm.sh
📚 Learning: 2025-09-10T21:01:46.464Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#0
File: :0-0
Timestamp: 2025-09-10T21:01:46.464Z
Learning: jiridanek requested GitHub issue creation for banner comment documentation update in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2356 review. Issue #2395 was created to update outdated banner comment that only mentioned ppc64le support when script now builds RPMs for amd64, arm64, and ppc64le architectures, with specific diff showing the required changes from lines 4-8, continuing the established pattern of systematic documentation improvements through detailed issue tracking.

Applied to files:

  • codeserver/ubi9-python-3.12/get_code_server_rpm.sh
📚 Learning: 2025-09-05T12:34:48.372Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/get_code_server_rpm.sh:65-66
Timestamp: 2025-09-05T12:34:48.372Z
Learning: jiridanek requested GitHub issue creation for patches mechanism improvement in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2227 review. GitHub issue #2318 was created addressing fragile patches application that assumes patches/series always exists, proposing conditional patch handling with proper validation, error handling, and documentation, assigned to jiridanek, continuing the established pattern of systematic code quality improvements through detailed issue tracking.

Applied to files:

  • codeserver/ubi9-python-3.12/get_code_server_rpm.sh
📚 Learning: 2025-09-05T10:05:35.575Z
Learnt from: jiridanek
PR: opendatahub-io/notebooks#1513
File: runtimes/datascience/ubi9-python-3.12/pylock.toml:180-180
Timestamp: 2025-09-05T10:05:35.575Z
Learning: In Python lock files for the datascience runtime, both bcrypt and paramiko packages are excluded from s390x platform using the marker "platform_machine != 's390x'" due to compatibility issues on IBM System z mainframe architecture.

Applied to files:

  • codeserver/ubi9-python-3.12/pylock.toml

Fix conditional syntax for architecture guard.
The missing space before "$ARCH" turns the token into ||"$ARCH", so bash complains with “conditional binary operator expected” and exits before any build logic runs.

as suggested by code coderabbitai
@openshift-ci openshift-ci bot added size/l and removed size/l labels Oct 14, 2025
changed to do proper && chain for dnf
@openshift-ci openshift-ci bot added size/l and removed size/l labels Oct 14, 2025
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

♻️ Duplicate comments (1)
codeserver/ubi9-python-3.12/devel_env_setup.sh (1)

69-72: DNF chaining fix looks good (previous break resolved).

The install sequence is now properly chained; no premature command break.

🧹 Nitpick comments (7)
codeserver/ubi9-python-3.12/devel_env_setup.sh (7)

66-67: Remove unnecessary trailing backslashes after comment/then.

They’re not needed and reduce readability. Safe to drop.

-    # Additional dev tools only for s390x \
-if [[ $(uname -m) == "s390x" ]]; then \
+    # Additional dev tools only for s390x
+if [[ $(uname -m) == "s390x" ]]; then

69-71: Deduplicate and consolidate s390x package installs.

cmake and lcms2-devel are listed twice. Consolidate to a single dnf install after EPEL to speed builds and avoid redundancy.

-    dnf install -y perl mesa-libGL skopeo libxcrypt-compat python3.12-devel pkgconf-pkg-config gcc gcc-gfortran gcc-c++ ninja-build make openssl-devel python3-devel pybind11-devel autoconf automake libtool cmake openblas-devel libjpeg-devel zlib-devel libtiff-devel freetype-devel lcms2-devel libwebp-devel git tar wget && \
-    dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
-    dnf install -y cmake gcc gcc-toolset-13 fribidi-devel lcms2-devel openjpeg2-devel libraqm-devel libimagequant-devel tcl-devel tk-devel && \
+    dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
+    dnf install -y \
+        perl mesa-libGL skopeo libxcrypt-compat python3.12-devel python3-devel \
+        pkgconf-pkg-config gcc gcc-gfortran gcc-c++ gcc-toolset-13 \
+        ninja-build make openssl-devel pybind11-devel \
+        autoconf automake libtool cmake \
+        openblas-devel libjpeg-devel zlib-devel libtiff-devel freetype-devel lcms2-devel libwebp-devel \
+        openjpeg2-devel libraqm-devel libimagequant-devel tcl-devel tk-devel \
+        git tar wget && \

82-85: Remove redundant nested s390x check.

You’re already inside the s390x branch.

-    if [[ $(uname -m) == "s390x" ]]; then
-        echo "Checking OpenBLAS pkg-config..."
-        pkg-config --exists openblas || echo "Warning: openblas.pc not found"
-    fi
+    echo "Checking OpenBLAS pkg-config..."
+    pkg-config --exists openblas || echo "Warning: openblas.pc not found"

87-87: CMAKE_ARGS appears unused in this flow.

Confirm if any subsequent builds consume it; otherwise remove to avoid confusion.


89-91: Make pyarrow version extraction more robust.

Grep can misfire on unrelated numbers. Prefer parsing TOML if feasible.

-    PYARROW_VERSION=$(grep -A1 '"pyarrow"' pylock.toml | grep -Eo '\b[0-9\.]+\b')
+    # Prefer TOML parsing; falls back to grep if parsing fails.
+    PYARROW_VERSION=$(python - <<'PY' 2>/dev/null || true
+import tomllib, sys, re
+with open("pylock.toml","rb") as f:
+    data = f.read().decode()
+# Adjust this extraction to actual structure if known.
+m = re.search(r'(?ms)^\s*"?pyarrow"?\b.*?version\s*=\s*"([0-9.]+)"', data)
+print(m.group(1))
+PY
+)
+    if [[ -z "${PYARROW_VERSION}" ]]; then
+        PYARROW_VERSION=$(grep -A1 '"pyarrow"' pylock.toml | grep -Eo '\b[0-9\.]+\b' | head -n1)
+    fi

74-79: Rustup install: prefer minimal profile and quiet mode.

Saves bandwidth/time and reduces log noise.

-    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
+    curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y -q --profile minimal

4-8: Update banner comment to reflect multi-arch (now includes s390x).

Avoid misleading maintainers; note that OpenBLAS-from-source applies to ppc64le path.

-# This script is expected to be run on ppc64le hosts as `root`                                      #
-# It installs the required build-time dependencies for python wheels                                #
-# OpenBlas is built from source (instead of distro provided) with recommended flags for performance #
+# This script is expected to be run on ppc64le and s390x hosts as `root`                            #
+# It installs the required build-time dependencies for Python wheels                                #
+# On ppc64le, OpenBLAS is built from source with recommended flags; on s390x, distro OpenBLAS is used #

Based on learnings

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b71d268 and e0274b5.

📒 Files selected for processing (1)
  • codeserver/ubi9-python-3.12/devel_env_setup.sh (2 hunks)
🧰 Additional context used
🧠 Learnings (1)
📓 Common learnings
Learnt from: jiridanek
PR: opendatahub-io/notebooks#0
File: :0-0
Timestamp: 2025-08-05T17:24:08.616Z
Learning: jiridanek requested PR review for #1521 covering s390x architecture support improvements, demonstrating continued focus on systematic multi-architecture compatibility enhancements in the opendatahub-io/notebooks repository through clean implementation with centralized configuration, proper CI integration, and architecture-aware testing patterns.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/get_code_server_rpm.sh:65-66
Timestamp: 2025-09-05T12:34:48.372Z
Learning: jiridanek requested GitHub issue creation for patches mechanism improvement in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2227 review. GitHub issue #2318 was created addressing fragile patches application that assumes patches/series always exists, proposing conditional patch handling with proper validation, error handling, and documentation, assigned to jiridanek, continuing the established pattern of systematic code quality improvements through detailed issue tracking.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#0
File: :0-0
Timestamp: 2025-09-10T21:01:46.464Z
Learning: jiridanek requested GitHub issue creation for banner comment documentation update in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2356 review. Issue #2395 was created to update outdated banner comment that only mentioned ppc64le support when script now builds RPMs for amd64, arm64, and ppc64le architectures, with specific diff showing the required changes from lines 4-8, continuing the established pattern of systematic documentation improvements through detailed issue tracking.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2227
File: codeserver/ubi9-python-3.12/get_code_server_rpm.sh:18-19
Timestamp: 2025-09-05T12:35:44.985Z
Learning: jiridanek requested GitHub issue creation for architecture validation guard in codeserver/ubi9-python-3.12/get_code_server_rpm.sh during PR #2227 review. Issue #2320 was successfully created addressing missing validation for unknown architectures in UNAME_TO_GOARCH mapping lookup where empty ARCH values could cause silent failures, with comprehensive problem description, detailed proposed solution with code example, specific acceptance criteria, implementation considerations, and proper context linking, continuing the established pattern of systematic code quality improvements through detailed issue tracking.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#1513
File: runtimes/datascience/ubi9-python-3.12/Dockerfile.cpu:104-108
Timestamp: 2025-09-05T10:07:53.476Z
Learning: jiridanek requested GitHub issue creation for Arrow codec configuration problem during PR #1513 review. Issue #2305 was created addressing disabled core Arrow codecs (LZ4, Zstd, Snappy) in s390x pyarrow build that prevents reading compressed Parquet/Arrow datasets. The issue includes comprehensive problem description covering data compatibility impact, detailed solution enabling codecs with BUNDLED dependencies, clear acceptance criteria for functionality verification, and proper context linking to PR #1513 review comment, assigned to jiridanek.
Learnt from: jiridanek
PR: opendatahub-io/notebooks#2504
File: codeserver/ubi9-python-3.12/test/test_startup.py:62-68
Timestamp: 2025-09-18T12:02:57.831Z
Learning: jiridanek requested GitHub issue creation for codeserver test script improvements during PR #2504 review, covering both process group termination fixes (to prevent orphaned child processes from run-code-server.sh) and self-testing capabilities (to avoid wasteful full image builds during development). The issue includes comprehensive problem descriptions, implementation details with code examples, phased acceptance criteria, and proper context linking, continuing the established pattern of systematic code quality improvements through detailed issue tracking.

Comment on lines +135 to 137
# only for mounting on other ppc64le
mkdir -p /root/OpenBLAS/
fi
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Clarify comment vs condition.

Block runs on non-ppc64le, but the comment mentions “other ppc64le”. Reword to match behavior.

-   # only for mounting on other ppc64le
+   # Create mount point for OpenBLAS in non-ppc64le builds (used by ppc64le multistage mounting)
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
# only for mounting on other ppc64le
mkdir -p /root/OpenBLAS/
fi
# Create mount point for OpenBLAS in non-ppc64le builds (used by ppc64le multistage mounting)
mkdir -p /root/OpenBLAS/
fi
🤖 Prompt for AI Agents
In codeserver/ubi9-python-3.12/devel_env_setup.sh around lines 135 to 137, the
inline comment "only for mounting on other ppc64le" contradicts the condition
(block runs on non-ppc64le); update the comment to accurately reflect the
behavior (e.g., "create OpenBLAS dir for mounting when not on ppc64le" or
similar) so it matches the condition and avoid confusion.

@jiridanek
Copy link
Member

/ok-to-test

@openshift-ci-robot
Copy link

/retest-required

Remaining retests: 0 against base HEAD 40a15f2 and 2 for PR HEAD e0274b5 in total

@jiridanek
Copy link
Member

/ok-to-test

@jiridanek jiridanek changed the title s390x changes for codeserver RHAIENG-1475: enablement(s390x): changes for codeserver Oct 14, 2025
@openshift-ci openshift-ci bot added size/l and removed size/l labels Oct 14, 2025
@jiridanek jiridanek added this to the rhoai-3.0 milestone Oct 14, 2025
@openshift-ci openshift-ci bot added size/l and removed size/l labels Oct 15, 2025
@openshift-ci openshift-ci bot added size/l and removed size/l labels Oct 15, 2025
Copy link
Contributor

openshift-ci bot commented Oct 15, 2025

@aryabjena: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/codeserver-ubi9-python-3-12-pr-image-mirror 389a447 link true /test codeserver-ubi9-python-3-12-pr-image-mirror
ci/prow/images 389a447 link true /test images

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@openshift-ci openshift-ci bot added the lgtm label Oct 15, 2025
Copy link
Contributor

openshift-ci bot commented Oct 15, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jiridanek

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@jiridanek jiridanek merged commit a254312 into opendatahub-io:main Oct 15, 2025
11 of 18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved lgtm ok-to-test review-requested GitHub Bot creates notification on #pr-review-ai-ide-team slack channel size/l

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants